/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package wasolicitudesfiec.Ayudantias.SolicitarSerAyudante;

import com.sun.data.provider.DataProviderException;
import com.sun.data.provider.FieldKey;
import com.sun.data.provider.RowKey;
import com.sun.data.provider.impl.AbstractTableDataProvider;
import com.sun.data.provider.impl.IndexRowKey;
import entidad.Rol;
import java.util.ArrayList;
import java.util.Date;
import wasolicitudesfiec.registros.Rg_AyudantiaDisponible;
/**
 *
 * @author kabad
 */
public class Dp_AyudantiasDisponibles extends AbstractTableDataProvider {
  //registro
    private ArrayList<Rg_AyudantiaDisponible> listaRg_AyudantiaDisponible = new ArrayList<Rg_AyudantiaDisponible>();

    public Dp_AyudantiasDisponibles() {
        FieldKey key;
        key = new FieldKey("tipo");
        key.setDisplayName("Tipo");
        addFieldKey(key);

        key = new FieldKey("nombre");
        key.setDisplayName("Nombre");
        addFieldKey(key);

        key = new FieldKey("instancia");
        key.setDisplayName("instancia");
        addFieldKey(key);

        key = new FieldKey("caducidadSolicitudes");
        key.setDisplayName("Fecha Límite Recepción de Solicitudes");
        addFieldKey(key);

        key = new FieldKey("nombreProfesor");
        key.setDisplayName("Profesor Responsable");
        addFieldKey(key);

         key = new FieldKey("convocatoria");
        key.setDisplayName("Ver Texto de Convocatoria");
        addFieldKey(key);
    }

    @Override
    public Class getType(FieldKey fieldKey) throws DataProviderException {
        if(fieldKey.getFieldId().equals("caducidadSolicitudes"))
          return (new Date()).getClass();
         else
              return (new String()).getClass();
    }

    @Override
    public boolean isReadOnly(FieldKey fieldKey) throws DataProviderException {
        return false;
    }

    @Override
    public int getRowCount() throws DataProviderException {
        return this.getListaRg_AyudantiaDisponible().size();
    }

    @Override
    public Object getValue(FieldKey fieldKey, RowKey row) throws DataProviderException {
        int indice = ((IndexRowKey) row).getIndex();
        Rg_AyudantiaDisponible registro = (Rg_AyudantiaDisponible) this.getListaRg_AyudantiaDisponible().get(indice);
		if (fieldKey==null)
			return "";
		String fieldId = fieldKey.getFieldId();
        if (fieldId.equals("tipo")) {
            return registro.getStrTipoAyudantia() == null ? "No Disponible" : registro.getStrTipoAyudantia();
        } else if (fieldId.equals("nombre")) {
            return registro.getStrNombreAyudantia() == null ? "No Disponible" : registro.getStrNombreAyudantia();
         } else if (fieldId.equals("instancia")) {
            return registro.getStrNombreInstancia() == null ? "No Disponible" : registro.getStrNombreInstancia();
         } else if (fieldId.equals("caducidadSolicitudes")) {
            return registro.getCaducidadSolicitudes() == null ? "No Disponible" : registro.getCaducidadSolicitudes();
         } else if (fieldId.equals("nombreProfesor")) {
            return registro.getNombreProfesor() == null ? "No Disponible" : registro.getNombreProfesor();
        } else if (fieldId.equals("convocatoria")) {
            return registro.getConvocatoria() == null ? "No Disponible" : registro.getConvocatoria();
        } else {
            return registro.getStrNombreInstancia();
        }
    }

    @Override
    public void setValue(FieldKey fieldKey, RowKey row, Object value) throws DataProviderException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean canInsertRow(RowKey beforeRow) throws DataProviderException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public RowKey insertRow(RowKey beforeRow) throws DataProviderException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean canAppendRow() throws DataProviderException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public RowKey appendRow() throws DataProviderException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean canRemoveRow(RowKey row) throws DataProviderException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void removeRow(RowKey row) throws DataProviderException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    /**
     * @return the listaRg_AyudantiaDisponible
     */
    public ArrayList<Rg_AyudantiaDisponible> getListaRg_AyudantiaDisponible() {
        return listaRg_AyudantiaDisponible;
    }

    /**
     * @param listaRg_AyudantiaDisponible the listaRg_AyudantiaDisponible to set
     */
    public void setListaRg_AyudantiaDisponible(ArrayList<Rg_AyudantiaDisponible> listaRg_AyudantiaDisponible) {
        this.listaRg_AyudantiaDisponible = listaRg_AyudantiaDisponible;
    }

}
